<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <script>
            
            // 1. 块级作用域  if for while 语句内   函数function内是局部作用域
            
            if(true){
                var i = 'a'
                let b = 'b'
                // let i = 'c' // 不可以重复声明
            }
            console.log(i);// var定义的都是全局变量  会对代码环境产生污染
            // console.log(b); // let 定义的是局部变量  不会污染全局
            

            // 2. 变量提升 没有

            console.log(x);
            var x = 1   // var声明的变量有变量提升  输出结果 undefined

            // console.log(y); // 没有变量提升 会报错
            // console.log(test); // 没有函数提升
            let y = 2

            let test= () =>{
                // console.log(y); // 还是会报错 
                let y = 3
            }
            test()

        </script>
    </body>
</html>
